package com.smt.common.utils;


/**
 * 常量
 * 
 * @author murong
 * @email 981620741@qq.com
 * @date 2016年11月15日 下午1:23:52
 */
public class Constant {
    /**
     * 超级管理员ID
     */
    public static final int SUPER_ADMIN = 1;

    /**
     * 菜单类型
     *
     * @author murong
     * @email 981620741@qq.com
     * @date 2016年11月15日 下午1:24:29
     */
    public enum MenuType {
        /**
         * 目录
         */
        CATALOG(0),
        /**
         * 菜单
         */
        MENU(1),
        /**
         * 按钮
         */
        BUTTON(2);

        private int value;

        MenuType(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }

    /**
     * 定时任务状态
     *
     * @author murong
     * @email 981620741@qq.com
     * @date 2016年12月3日 上午12:07:22
     */
    public enum ScheduleStatus {
        /**
         * 正常
         */
        NORMAL(0),
        /**
         * 暂停
         */
        PAUSE(1);

        private int value;

        ScheduleStatus(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }

    /**
     * 云服务商
     */
    public enum CloudService {
        /**
         * 七牛云
         */
        QINIU(1),
        /**
         * 阿里云
         */
        ALIYUN(2),
        /**
         * 腾讯云
         */
        QCLOUD(3);

        private int value;

        CloudService(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }

    //文件管理常量
    /**
     * 文件标志
     */
    public static final Integer FILE = 0;

    /**
     * 目录标志
     */
    public static final Integer DiRECTORY = 1;


    /**
     * 审核驳回状态
     */
    public static final Integer FILE_TURN_DOWN = 0;
    /**
     * 审核通过状态
     */
    public static final Integer FILE_SUCCESS = 1;
    /**
     * 操作删除状态
     */
    public static final Integer FILE_DELETE = 2;


    //用户在此项目中的等级划分

    /**
     * 阶段
     */
    public static final Integer STAGE = 0;

    /**
     * 任务
     */
    public static final Integer TASK = 1;

    /**
     * 子任务
     */
    public static final Integer SUB_TASK = 2;

    /**
     * 失败标志
     */
    public static final Integer FAIL_ID = 500;


    //任务状态
    /**
     * 完成
     */
    public static final Integer S_SUCCESS = 1;
    /**
     * 进行中
     */
    public static final Integer S_WORKING = 0;

    public static final Integer S_WORKING_50 = 50;

    public static final Integer S_WORKING_401 = 401;

    /**
     * 已延期
     */
    public static final Integer S_EXTENSION = 2;

//
//         操作状态
//           0      创建 进行中;
//           1      完成
//           2      延期;
//           3      删除
//           50     上级审批状态
//           100    表示该成员被移出此项目
//           400    此字段仅仅是标记其开始创建阶段责任人而产生的空责任字段

    /**
     *  字符串常量
     */
    public static final String SQL_CON = "0,1,2,50,401";

    /**
     * 0创建 进行中;
     */
    public static final Integer CREATE = 0;
    /**
     * 1 完成 ;
     */
    public static final Integer END = 1;
    /**
     * 2延期;
     */
    public static final Integer DELAY = 2;
    /**
     * 3 删除
     */
    public static final Integer DELETE = 3;
    /**
     * 100 表示该成员被移出此项目
     */
    public static final Integer REMOVE_MEMBER = 100;
    /**
     * 400 此字段仅仅是标记其开始创建阶段责任人而产生的空责任字段
     */
    public static final Integer EMPTY = 400;


    //时间常量
    /**
     * 毫秒
     */
    public static final long MS = 1;
    /**
     * 每秒钟的毫秒数
     */
    public static final long SECOND_MS = MS * 1000;
    /**
     * 每分钟的毫秒数
     */
    public static final long MINUTE_MS = SECOND_MS * 60;
    /**
     * 每小时的毫秒数
     */
    public static final long HOUR_MS = MINUTE_MS * 60;
    /**
     * 每天的毫秒数
     */
    public static final long DAY_MS = HOUR_MS * 24;
    /**
     * 每小时的秒数
     */
    public static final long HOUR_S = HOUR_MS / 1000;
    /**
     * 每天的秒数
     */
    public static final long DAY_S = DAY_MS / 1000;
    /**
     * 每周的秒数
     */
    public static final long WEEK_S = DAY_S * 7;

    /**
     * 每分钟的秒数
     */
    public static final int MINUTE_S = 60;

    //用户常量
    /**
     * userid
     */
    public static final String USER_KEY = "userId";

    /**
     * 用户被移出此项目 100状态
     */
    public static final Integer USER_REMOVE_PROJECT = 100;

    /**
     * 设置过期时间
     */
    public static final Integer EXPIRED_DATE = 30;

    /**
     *  每天签到
     */
    public static final String DAY_1 = "每天签到";
    /**
     *  创建一个子任务
     */
    public static final String DAY_2 = "创建一个子任务";
    /**
     *  完成1个任意自创建的任务
     */
    public static final String DAY_3 = "完成一个任意自创建的任务";


    public static final String TASK_1 = "完成一个标杆任务";
    public static final String TASK_2 = "完成发布量产的所有标杆任务";
    public static final String TASK_3 = "编写公司简介，增加大家对公司的了解";
    public static final String TASK_4 = "创建一个项目，让企业有的放矢";
    public static final String TASK_5 = "上传公司的营业执照，保障企业的合法性";
    public static final String TASK_6 = "创建一家公司";
    public static final String TASK_7 = "邀请一位成员";



    /**
     * 二级积分所用数
     */
    public static final Integer LEVEL_J2 = 1000;


    public static final int LEVEL_1 = 1;
    public static final int LEVEL_2 = 2;
    public static final int LEVEL_3 = 3;

    /**
     * 三级积分所用数
     */
    public static final Integer LEVEL_J3 = 2000;


    /**
     * 标杆任务
     */
    public static final String BIAO_ = "1";

    /**
     * 主线任务
     */
    public static final String ZHU_ = "2";

    /**
     * 支线任务
     */
    public static final String  ZHI_ = "3";


    /**
     * 公司简介
     */
    public static final String  COMPANY_INTRODUCTION = "COMPANY_INTRODUCTION";

    /**
     * 公司创建
     */
    public static final String  COMPANY_CREATE = "COMPANY_CREATE";

    /**
     * 公司营业执照
     */
    public static final String  COMPANY_BUSINESS = "COMPANY_BUSINESS";


    /**
     * 验证码
     */
    public static final String VAR_CODE = "yssmtCode";

    /**
     * 文件分割
     */
    public static final String FILE_SPILT = "-";

    /**
     * 文件替代字符
     */
    public static final String FILE_TOKEN = "90de8b228c434482bc65a6881fd1092a";

    /**
     *  消息分割符
     */
    public static final String MSG_SPILT = "*$&$*";

}
